Computing systems, such as laptops, netbooks, workstations, and desktop computers typically include a central processing unit (CPU), also known as a host processor, running an operating system for carrying out various functionalities of the computing system. The host processor generally includes softwares, known as system drivers, such as audio drivers, video drivers, and wireless drivers for interacting with and controlling various peripheral devices connected to the computing systems for providing various functionalities of the computing systems. The peripheral devices include, for instance, audio controller for providing output of audio files playing in the computing system, microphone for recording audio files in the computing system, and modems for connecting to a network environment. For example, the audio driver is configured to control the audio controller for playing an audio file.
Further, the system drivers generally interact with the peripheral devices through hardware interfaces, known as device controllers provided in the computing systems for controlling the peripheral devices. For example, the computing systems include audio controllers and audio codecs for controlling the audio players connected to the computing systems.
Further, with advancement in computing technologies a single computing system may include two host processors having two separate operating systems. In order to reduce system costs and power consumption both the host processors are configured to share the same peripheral devices and device controllers. Sharing the same peripheral devices and device controllers, however, may not be possible in cases when both the host processors need to access the same peripheral device. A second host processor, which was not initially using a particular peripheral device, may thus need to wait for a first host processor, presently using the peripheral device, to release the peripheral device, thus effecting experience of a user using the second host processor.